Ambient
Properties for Controls
If a control
supports any ambient properties at all, it must at least respect the values of
the following ambient properties under the conditions stated in the following
table using the standard dispids.
Ambient
Property |
Dispid |
Comment/Conditions
for Use |
LocaleID |
-705 |
If Locale
is significant to the control, e.g. for text output |
UserMode |
-709 |
If the
control behaves differently in user (design) mode and run mode |
UIDead |
-710 |
If the
control reacts to UI events, then it should honor this ambient property |
ShowGrabHandles |
-711 |
If the
control support in-place resizing of itself |
ShowHatching |
-712 |
If the
control support in-place activation and UI activation |
DisplayAsDefault |
-713 |
Only if the
control is marked OLEMISC_ACTSLIKEBUTTON (which means that support for
keyboard mnemonics is provided, thus IOleControl::GetControlInfo and IOleControl::OnMnemonic
must be implemented). |
As described
previously, use of ambients requires both IOleControl (for OnAmbientPropertyChange
as a minimum) as well as IOleObject (for SetClientSite and GetClientSite).
The
OLEMISC_SETCLIENTSITEFIRST bit may not necessarily be supported by a container.
In these circumstances, a control must resort to default values for the ambient
properties that it requires.